// 这是一个关于输入2的幂函数的js代码

export default
    {
        setup ()
        {
            // 设想自我实现
            /* var i = parseInt( window.prompt( '请输入数字，浏览器会默认返回二的此数次幂' ) );
            var a = 2;

            if ( i > 1 )
            {
                for ( ; --i; )
                    a = 2 * a;
                document.write( a + "<br />" )
            } else
                if ( i == 1 )
                {
                    document.write( a + "<br />" )
                } else
                    if ( i == 0 )
                    {
                        document.write( 1 + "<br />" )
                    } else
                        if ( i == -1 )
                        {
                            document.write( 1 / 2 + "<br />" )
                        } else
                            if ( i < 0 )
                            {
                                for ( ; ++i; )
                                    a = 2 * a;
                                document.write( 1 / ( a ) + "<br />" )
                            } */
            // 以下是老师给出的参考答案：
            /*         var n = parseInt( window.prompt( '请输入数字，浏览器会默认返回二的此数次幂' ) );
                    var mul = 1;
                    if ( n < 0 )
                    {
                        n = -n;
                        for ( var i = 0; i < n; i++ )
                        {
                            mul /= 2;
                        }
                        document.write( mul + "<br />" )
                    }
                    else
                    {
                        for ( var i = 0; i < n; i++ )
                        {
                            mul *= 2;
                        }
                        document.write( mul + "<br />" )
                    } */

            // 经过标准答案，进一步改进原有代码逻辑
            var i = parseInt( window.prompt( '请输入数字，浏览器会默认返回二的此数次幂' ) );

            if ( i < 0 )
            {
                i = -i;
                for ( var n = 1; i--; )
                {
                    n *= 2;
                }
                document.write( 1 / n + "<br />" )
            }
            else 
            {
                for ( var n = 1; i--; )
                {
                    n *= 2;
                }
                document.write( n + "<br />" )
            }

        }
    }

